1. Field of the Invention
The present invention relates to a variable bit rate coding system for use in a packet communication system or ATM communication system.
2. Description of the Related Art
A packet communication system has been realized which packetizes speech signals after coding and performs communication packet by packet. The packet communication system can treat signals of various media, such as a speech, image and data, in the same manner. In addition, the system has an advantage that it can transmit signals only of a sound-present range utilizing the burstness of a speech signal, thus ensuring efficient use of the transmission line. Accordingly, attention has been paid to the packet communication and ATM communication as a way to carry out ISDN and BISDN, and researches and development on these technologies have been actively conducted.
In the packet communication, when the congestion occurs in a network or packet delay is large, packets would be abandoned, degrading the speech quality. In particular, when the ADPCM using the adaptive prediction is used as a coding system, the degradation becomes large at the time of packet loss. An Embeded DPCM has been proposed as a coding system with less degradation at the time of packet loss in "Embeded DPCM for Variable Bit Rate Transmission," IEEE Trans. COM-28, 7, pp. 1040-1046 (July 1980) (hereinafter called Document 1).
In CCITT SGXV III, "Annex to Question X/XV (Speech Packetization) Algorithm and Protocol for Speech Packetization" (TD131, Geneva 6-17 Jun. 1988) (hereinafter called Document 2), the CCITT provisionally recommended the Embeded ADPCM as the G727 and the speech packet protocol as G764 as "coding system for speech packet communication."
FIGS. 14 and 15 are block diagrams illustrating the structures of an encoder section and a decoder section of the provisionally-recommended G727 system. In the encoder shown in FIG. 14, the input is a speech signal digitized by a .mu.-PCM or A-PCm Codec. A PCm format converting circuit 610 converts a .mu.-PCM or A-PCM code into a linear PCM code. Reference numeral "630" denotes an adaptive quantizer and "670" denotes an adaptive predictor. A subtracter 620 calculates the difference between the input signal and a prediction signal, the output of the adaptive predictor 670, and sends the difference to the adaptive quantizer 630. The quantizer 630 quantizes the received prediction difference signal and outputs the result as an ADPCM code. A bit masking circuit 640 masks the lower bits of the ADPCM output code by the maximum number of abandonable bits, then shifts the code to the right. The output of the bit masking circuit 640 is sent as a core bit to an adaptive inverse quantizer 650, which in turn performs the inverse quantization of the core bit. The output of the adaptive inverse quantizer 650 is sent to the adaptive predictor 670 and adder 660. The adder 660 adds the output signal of the adaptive inverse quantizer 650 and the output signal of the adaptive predictor 670, thus yielding a locally decoded signal. The adaptive predictor 670, which is an adaptive filter having two-bit poles and six-bit zero points, prepares the prediction signal from the locally-decoded signal and inversely-quantized prediction difference signal received.
The number of bits of the adaptive quantizer 630 and the number of core bits to be fed back depend on the algorithm to be used. For instance, the 32-Kbps (4, 2) algorithm means that the quantization involves four bits and the core bits are two bits.
Referring to FIG. 14, the adaptive quantizer 630 forms a feed-forward path, while the bit masking circuit 640, adaptive inverse quantizer 650 and adaptive predictor 670 form a feedback path.
The operation of the decoder in FIG. 15 will be described below. This decoder, like the encoder, comprises a feedback path formed by a bit masking circuit 680, a feedback adaptive inverse quantizer 690 and an adaptive predictor 710, and a feed-forward path formed by a feed-forward adaptive inverse quantizer 720 and a PCM format converting circuit 740. The feedback path in the decoder has the same structure as the one in the encoder. The bit masking circuit 680 masks the lower bits of the received ADPCM code, excluding the upper, core bits, then shifts the code to the right, so that only the core bits are sent to the feedback adaptive inverse quantizer 690. This adaptive inverse quantizer 690 performs the inverse quantization of the core bits. The adaptive predictor 710 receives the inversely-quantized prediction difference signal or the output of the adaptive quantizer 690 and the locally-decoded signal or the output of an adder 70. The bit abandonment in the network is executed from the lower bits of the ADPCM code, thus ensuring transmission of the core bits. Accordingly, the bit masking circuit 680 on the decoder side provides the same output as the bit masking circuit 640 on the encoder side. In other words, the adaptive inverse quantizers 690 and 650 on the decoder and encoder sides, respectively, have exactly the same output and likewise the adaptive predictors 710 and 670 have exactly the sam output.
The feed-forward adaptive inverse quantizer 72 performs the inverse quantization of the core bits of the ADPCM output code and those bits remaining without abandonment. An adder 730 adds the output of the feed-forward adaptive inverse quantizer 720 and the output of the adaptive predictor 710, yielding a decoded signal. The decoded signal is then sent to the PCM format converting circuit 740, which in turn converts the linear PCM code into a .mu.-PCM or A-PCM code. A synchronous coding adjusting circuit 750 is provided to prevent an error from occurring from the synchronous tandem connection.
When abandonment of bits of the output code in the normal ADPCM, not Embedded type, the inversely-quantized prediction difference signal differs between the encoder and the decoder. As a result, the adaptive processing of the quantizer and predictor in the encoder is asynchronous with that in the decoder, and the error originating from the bit abandonment is refiltered by a synthesis filter, thus increasing the bit-abandonment-oriented degradation.
In the aforementioned Embeded ADPCM, since only the core bits are fed back to the predictor, no asynchronous operation would occur between the encoder and decoder even if those lower bits excluding the core bits are abandoned in the network. Further, since the prediction signal on the encoder side is the same as the one on the decoder side, the quantization noise corresponding to the number of abandoned bits is simply added directly to the encoded signal, suppressing the degradation of the speech quality originating from the bit abandonment.
Document 2 depicts how to form a speech packet making the best use of the above-described characteristic, and the protocol.
FIG. 16 illustrates a packet format disclosed in document 2. Referring to this figure, bit 1 is LSB, and bit 8 is MSB. "PD" (Protocol Discriminator) serves to distinguish a speech packet from other packets. "BDI" (Block Dropping Indicator) indicates the number of blocks which can be abandoned in packetized, initial status and the number of blocks which can be abandoned on each node of the network. The "block" here is 128-bit information acquired by collecting one frame of coded speech outputs bit by bit with the frame for the coding being 16 ms (128 samples). "TS" (Time Stamp) indicates accumulation of delays caused at each node in the network. "CT" (Coding Type) is a field associated with a speech coding method used in preparing packets.
"SEQ" (Sequence Number) is a number representing the sequence of packets and is used when a packet loss occurs. "NS" (Noise) is a field indicating the level of the background noise. NON-DROPPABLE OCTETS, a block for core bits of the Embeded ADPCM output, is a field for information that cannot be abandoned in the network. OPTIONAL DROPPABLE BLOCKS, a block of the lower bits of the Embeded ADPCM, is an information field that can be abandoned when requested by a system on the network. A layer 2 header and a layer 2 trailer are respectively affixed to the beginning and end of each packet.
According to the protocol of the packet network using a packet having the format shown in FIG. 16, the packet abandonment is performed by abandoning the OPTIONAL DROPPABLE BLOCKS.
The above is the packet abandonment compensating method using the conventional Embeded ADPCM and packet format. With the use of this method, the quality is not degraded as described above when information abandonment occurs within a packet, i.e., bit by bit. When the abandonment is done packet by packet, however, the method also abandon the core bits of the Embeded ADPCM, thus degrading the quality. The packet abandonment results in a complete loss of signals for one frame (16 ms), and disables reproduction of the original speech. This state does not end in one frame but may continue to another frame because the encoder and decoder function asynchronously. One of the compensation methods for packet-by-packet abandonment is to reproduce the lost bits through interpolation with the packets before and after the abandoned packet. Since the prediction difference signal or the output of the ADPCM is a signal with the correlation removed, even the interpolation using a sample separated by one frame (128 samples) hardly provides any interpolation effect, resulting in inevitable degradation of the quality.
The conventional coding system using the Embeded ADPCM also abandons the core bits of the Embeded ADPCM when packet-by-packet abandonment has occurred, thus disabling the reproduction of the original speech signal and significantly degrading the quality due to the asynchronous functions of the encoder and decoder.
Further, no positive consideration has been given to the chronological change in bit rate, nor sufficient consideration has been given to how to control the bit rate and how to build a cell with a fixed length. Since the amount of information of a speech signal is changed with time, the Embeded ADPCM which functions with a fixed bit rate varies the quality of the coded speech to produce a discomfortable noise and drops the coding efficiency.